From: Andre Przywara Date: Thu, 6 Apr 2017 19:56:31 +0000 (+0100) Subject: ARM: vGICv3: re-use vgic_reg64_check_access X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~2018 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=4b7846ba7c6a192127df0f3a8b7ad03627953b79;p=xen.git ARM: vGICv3: re-use vgic_reg64_check_access vgic_reg64_check_access() checks for a valid access width of a 64-bit MMIO register, which is useful beyond the current GICv3 emulation only. Move this function to the vgic-emul.h to be easily reusable. Signed-off-by: Andre Przywara Acked-by: Julien Grall Acked-by: Stefano Stabellini --- diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index c53fa9c424..30981b2cf7 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -161,15 +161,6 @@ static void vgic_store_irouter(struct domain *d, struct vgic_irq_rank *rank, } } -static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) -{ - /* - * 64 bits registers can be accessible using 32-bit and 64-bit unless - * stated otherwise (See 8.1.3 ARM IHI 0069A). - */ - return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); -} - static int __vgic_v3_rdistr_rd_mmio_read(struct vcpu *v, mmio_info_t *info, uint32_t gicr_reg, register_t *r) diff --git a/xen/include/asm-arm/vgic-emul.h b/xen/include/asm-arm/vgic-emul.h index 184a1f04da..e52fbaa3ec 100644 --- a/xen/include/asm-arm/vgic-emul.h +++ b/xen/include/asm-arm/vgic-emul.h @@ -12,6 +12,15 @@ #define VRANGE32(start, end) start ... end + 3 #define VRANGE64(start, end) start ... end + 7 +/* + * 64 bits registers can be accessible using 32-bit and 64-bit unless + * stated otherwise (See 8.1.3 ARM IHI 0069A). + */ +static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) +{ + return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); +} + #endif /* __ASM_ARM_VGIC_EMUL_H__ */ /*